From: Colin Walters Date: Thu, 29 Jun 2017 02:23:17 +0000 (-0400) Subject: lib/pull: Don't fetch detached metadata twice for local pulls X-Git-Tag: archive/raspbian/2022.1-3+rpi1~1^2~4^2~35^2~17 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=8d586a9da0b3736c745b3441b213af20ee183109;p=ostree.git lib/pull: Don't fetch detached metadata twice for local pulls Obviously very minor, but I noticed this while working on `pull --reference`. If we have a local repo, we'll have already done a hardlink and copied the detached metadata too, so there's no reason to request it again via the fetcher path. Closes: #978 Approved by: jlebon --- diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c index a82448e1..31c825b8 100644 --- a/src/libostree/ostree-repo-pull.c +++ b/src/libostree/ostree-repo-pull.c @@ -1514,6 +1514,11 @@ scan_one_metadata_object_c (OtPullData *pull_data, objtype, tmp_checksum, !pull_data->is_untrusted, cancellable, error)) return FALSE; + /* The import API will fetch both the commit and detached metadata, so + * add it to the hash to avoid re-fetching it below. + */ + if (objtype == OSTREE_OBJECT_TYPE_COMMIT) + g_hash_table_add (pull_data->fetched_detached_metadata, g_strdup (tmp_checksum)); } is_stored = TRUE; is_requested = TRUE;